Overview

Salmon leaping at Willamette Falls from NOAA’s Historic Fisheries Collection. Unknown photographer, 27 June 1950.

Hydroelectric power represents an important renewable and low-emissions energy source, but the construction and development of the water source that the power plants can require sometimes threatens resident fish populations. Willamette Falls, located outside of Portland in northwestern Oregon (see map below), is an important traditional Native American fishing ground. To protect this natural resource and aid the passage of salmon and steelhead runs over the falls, fishways have been constructed and updated over time. Daily fish counts are monitored to ensure that migration of these fish populations continues to be unhindered by the power plant and the falls. This report summarizes findings from studying Willamette Falls monitoring data from 2001 to 2010.

Data were shared by and accessed from Columbia River DART:
Columbia River DART (Data Access in Real Time), Columbia Basin Research, University of Washington
Accessed Feb 1, 2021 at http://www.cbr.washington.edu/dart/query/adult_graph_text.

world <- ne_countries(scale = "medium", returnclass = "sf") # pull world data
states <- st_as_sf(map("state", plot = FALSE, fill = TRUE)) # pull state data
states <- cbind(states, st_coordinates(st_centroid(states))) # project

falls <- data.frame(longitude = c(-122.61763), latitude = c(45.35239)) %>% # make point
  st_as_sf(coords = c("longitude", "latitude"), # as sf
           crs = 4326, agr = "constant")

ggplot(data = world) + # plot
  geom_sf(fill = "antiquewhite") +
  geom_sf(data = states, fill = "peachpuff3") + # add state outlines and fill
  geom_sf(data = falls, size = 4, shape = 23, fill = "royalblue3") + # add falls loc
  coord_sf(xlim = c(-125, -110), ylim = c(40, 50), expand = FALSE) + # set bounding
  theme_minimal() + # minimal theme
  labs(title = "Willamette Falls location", # add labs
       subtitle = "2001 - 2010",
       caption = "Bri Baker, 2021")

willamette_salmon <- read_csv(here("data", "willamette_fish_passage.csv")) %>%  # read in data
  clean_names() %>% # names in tidy format
  select(date, coho, jack_coho, steelhead) %>% # select desired species
  mutate(date = mdy(date)) %>%  # make date class
   as_tsibble(key = NULL, index = date) # convert to tsibble

salmon_longer <- willamette_salmon %>%  
  replace(is.na(.), 0) %>%  # replace na with 0
  pivot_longer(coho:steelhead, # consolidate species to one column
               names_to = "species",
               values_to = "counts") 

Original time series

salmon_longer <- willamette_salmon %>%  
  replace(is.na(.), 0) %>%  # replace na with 0
  pivot_longer(coho:steelhead, # consolidate species to one column
               names_to = "species",
               values_to = "counts")

ggplot(salmon_longer, aes(x = date, y = counts, color = species)) + # make ggplot
  geom_line() + #as a lineplot
  labs(x = "Year", # add labs
       y = "Count",
       title = "Salmon counts at Willamette Falls fish passage",
       subtitle = "2001 - 2010",
       caption = "Bri Baker, 2021\nSource: Columbia River DART",
       color = "Species") +
  scale_color_manual(labels = c("Coho", "Jack Coho", "Steelhead"), # change legend names
                     values = c("aquamarine3", "cornflowerblue", "goldenrod1")) + # change colors
  scale_x_date(date_breaks = "1 year", # show all years
               date_labels = "%Y") +
  theme_minimal() + # use theme_minimal
  theme(legend.position = c(0.15, 0.75), # move legend
        legend.background = element_rect(fill="white", linetype = "solid", color = "whitesmoke"), # format legend
        axis.text.x = element_text(angle = 30, vjust = 1, hjust = 1)) # angle x labels

Takeaways

  • The most apparent pattern in the data is seasonality on an annual basis, with peak sightings occurring mid-year(?).
  • The bulk of Steelhead movement occurs earlier in the year than that of Coho and Jack Coho.
  • Coho increased in abundance over the time studied, particularly in 2009 and 2010.

Seasonplots – Also ugly and unfinished

salmon_season <-  willamette_salmon %>%
  rename(Coho = coho,
         "Jack Coho" = jack_coho,
         Steelhead = steelhead) %>% 
  pivot_longer(Coho:Steelhead, 
               names_to = "species",
               values_to = "counts") 

salmon_season %>% 
  gg_season(counts)

coho_subset <- willamette_salmon %>% 
  select(date, coho) 
coho_subset %>% 
  gg_season(coho)

jack_coho_subset <- willamette_salmon %>% 
  select(date, jack_coho) 
jack_coho_subset %>% 
  gg_season(jack_coho)

steelhead_subset <- willamette_salmon %>% 
  select(date, steelhead) 
steelhead_subset %>% 
  gg_season(steelhead)

gg_subseries(salmon_longer, period = "day")

Takeaways

Annual counts by species

# Using Bri's "pivot_longer-ed" df:
annual <- salmon_longer %>%
  group_by_key() %>% # group by species
  index_by(yr = ~year(.)) %>% # grouping the time index by year
  #group_by(yr, species) %>% 
  summarize(annual_count = sum(counts)) %>% # sum counts by year and species
  mutate(yr = as.Date(ISOdate(yr, 1, 1)))

# Using Bri's graph formatting:
ggplot(data = annual, aes(x = yr, y = annual_count, color = species)) +
  geom_line(size=1.25) +
  labs(x = "Year",
       y = "Count",
       title = "Salmon counts at Willamette Falls fish passage by year",
       subtitle = "2001 - 2010",
       caption = "Minnie Ringland, 2021\nSource: Columbia River DART") +
  scale_color_manual(labels = c("Coho", "Jack Coho", "Steelhead"), # change legend names
                     values = c("aquamarine3", "cornflowerblue", "goldenrod1")) + # change colors
  scale_x_date(date_breaks = "1 year", # show all years
               date_labels = "%Y") +
  theme_minimal() +
  theme(legend.position = c(0.75, 0.75), # move legend
        legend.background = element_rect(fill="white", linetype = "solid", color = "whitesmoke"), # format legend
        axis.text.x = element_text(angle = 30, vjust = 1, hjust = 1)) # angle x labels

Takeaways

  • As seen in the original time series, Steelhead were sighted in greater numbers than the two Coho species across almost the entire study period, suggesting that the population is more abundant or that these fish are easier to count.
  • Once we collapse the data by year, there do not appear to be any patterns in terms of cyclicality or trends common across species.
  • Within species though, Steelhead populations appear to be trending down, while Coho fish were seen in greater abundance over time, particularly in the last two years of the study period, which could suggest a population increase. Jack Coho fish seem to be present in very low numbers with no change over time, which could be cause for concern.